package com.dbdata.move.model;

// Generated cafuc by Hibernate Tools 4

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * MainPoint generated by hbm2java
 */
@Entity
@Table(name = "main_point")
public class MainPoint implements java.io.Serializable {

	private Long id;
	private String mainPointName;
	private boolean mainPointState;
	private int mainPointTotalHours;
	private int airPlanTotalHours;
	private int analogMachineTotalHours;
	private int trainningMachineTotalHours;
	private int mainPointTotalTopic;
	private int mainPointTotalSubject;
	private String remark;
	private boolean deleted;
	private boolean fullMainPoint;
	private String englishName;
	private String modelTime;
	private Set<MainPointModule> mainPointModules = new HashSet<MainPointModule>(
			0);
	private Set<StudentRecommend> studentRecommends = new HashSet<StudentRecommend>(
			0);
	private Set<TrainNotice> trainNotices = new HashSet<TrainNotice>(0);
	private Set<TrainPlan> trainPlans = new HashSet<TrainPlan>(0);
	private Set<WorkOrder> workOrders = new HashSet<WorkOrder>(0);
	private Set<Topic> topics = new HashSet<Topic>(0);
	private Set<StudentResit> studentResits = new HashSet<StudentResit>(0);
	private Set<UserBaseInfoMainPoint> userBaseInfoMainPoints = new HashSet<UserBaseInfoMainPoint>(
			0);
	private Set<MainpointCertificate> mainpointCertificates = new HashSet<MainpointCertificate>(
			0);
	private Set<MainPointStudyResult> mainPointStudyResults = new HashSet<MainPointStudyResult>(
			0);

	public MainPoint() {
	}

	public MainPoint(boolean mainPointState, int mainPointTotalHours,
			int airPlanTotalHours, int analogMachineTotalHours,
			int trainningMachineTotalHours, int mainPointTotalTopic,
			int mainPointTotalSubject, boolean deleted, boolean fullMainPoint) {
		this.mainPointState = mainPointState;
		this.mainPointTotalHours = mainPointTotalHours;
		this.airPlanTotalHours = airPlanTotalHours;
		this.analogMachineTotalHours = analogMachineTotalHours;
		this.trainningMachineTotalHours = trainningMachineTotalHours;
		this.mainPointTotalTopic = mainPointTotalTopic;
		this.mainPointTotalSubject = mainPointTotalSubject;
		this.deleted = deleted;
		this.fullMainPoint = fullMainPoint;
	}

	public MainPoint(String mainPointName, boolean mainPointState,
			int mainPointTotalHours, int airPlanTotalHours,
			int analogMachineTotalHours, int trainningMachineTotalHours,
			int mainPointTotalTopic, int mainPointTotalSubject, String remark,
			boolean deleted, boolean fullMainPoint, String englishName,
			String modelTime, Set<MainPointModule> mainPointModules,
			Set<StudentRecommend> studentRecommends,
			Set<TrainNotice> trainNotices, Set<TrainPlan> trainPlans,
			Set<WorkOrder> workOrders, Set<Topic> topics,
			Set<StudentResit> studentResits,
			Set<UserBaseInfoMainPoint> userBaseInfoMainPoints,
			Set<MainpointCertificate> mainpointCertificates,
			Set<MainPointStudyResult> mainPointStudyResults) {
		this.mainPointName = mainPointName;
		this.mainPointState = mainPointState;
		this.mainPointTotalHours = mainPointTotalHours;
		this.airPlanTotalHours = airPlanTotalHours;
		this.analogMachineTotalHours = analogMachineTotalHours;
		this.trainningMachineTotalHours = trainningMachineTotalHours;
		this.mainPointTotalTopic = mainPointTotalTopic;
		this.mainPointTotalSubject = mainPointTotalSubject;
		this.remark = remark;
		this.deleted = deleted;
		this.fullMainPoint = fullMainPoint;
		this.englishName = englishName;
		this.modelTime = modelTime;
		this.mainPointModules = mainPointModules;
		this.studentRecommends = studentRecommends;
		this.trainNotices = trainNotices;
		this.trainPlans = trainPlans;
		this.workOrders = workOrders;
		this.topics = topics;
		this.studentResits = studentResits;
		this.userBaseInfoMainPoints = userBaseInfoMainPoints;
		this.mainpointCertificates = mainpointCertificates;
		this.mainPointStudyResults = mainPointStudyResults;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID", unique = true, nullable = false)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "MAIN_POINT_NAME", length = 120)
	public String getMainPointName() {
		return this.mainPointName;
	}

	public void setMainPointName(String mainPointName) {
		this.mainPointName = mainPointName;
	}

	@Column(name = "MAIN_POINT_STATE", nullable = false)
	public boolean isMainPointState() {
		return this.mainPointState;
	}

	public void setMainPointState(boolean mainPointState) {
		this.mainPointState = mainPointState;
	}

	@Column(name = "MAIN_POINT_TOTAL_HOURS", nullable = false)
	public int getMainPointTotalHours() {
		return this.mainPointTotalHours;
	}

	public void setMainPointTotalHours(int mainPointTotalHours) {
		this.mainPointTotalHours = mainPointTotalHours;
	}

	@Column(name = "AIR_PLAN_TOTAL_HOURS", nullable = false)
	public int getAirPlanTotalHours() {
		return this.airPlanTotalHours;
	}

	public void setAirPlanTotalHours(int airPlanTotalHours) {
		this.airPlanTotalHours = airPlanTotalHours;
	}

	@Column(name = "ANALOG_MACHINE_TOTAL_HOURS", nullable = false)
	public int getAnalogMachineTotalHours() {
		return this.analogMachineTotalHours;
	}

	public void setAnalogMachineTotalHours(int analogMachineTotalHours) {
		this.analogMachineTotalHours = analogMachineTotalHours;
	}

	@Column(name = "TRAINNING_MACHINE_TOTAL_HOURS", nullable = false)
	public int getTrainningMachineTotalHours() {
		return this.trainningMachineTotalHours;
	}

	public void setTrainningMachineTotalHours(int trainningMachineTotalHours) {
		this.trainningMachineTotalHours = trainningMachineTotalHours;
	}

	@Column(name = "MAIN_POINT_TOTAL_TOPIC", nullable = false)
	public int getMainPointTotalTopic() {
		return this.mainPointTotalTopic;
	}

	public void setMainPointTotalTopic(int mainPointTotalTopic) {
		this.mainPointTotalTopic = mainPointTotalTopic;
	}

	@Column(name = "MAIN_POINT_TOTAL_SUBJECT", nullable = false)
	public int getMainPointTotalSubject() {
		return this.mainPointTotalSubject;
	}

	public void setMainPointTotalSubject(int mainPointTotalSubject) {
		this.mainPointTotalSubject = mainPointTotalSubject;
	}

	@Column(name = "REMARK", length = 500)
	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "DELETED", nullable = false)
	public boolean isDeleted() {
		return this.deleted;
	}

	public void setDeleted(boolean deleted) {
		this.deleted = deleted;
	}

	@Column(name = "FULL_MAIN_POINT", nullable = false)
	public boolean isFullMainPoint() {
		return this.fullMainPoint;
	}

	public void setFullMainPoint(boolean fullMainPoint) {
		this.fullMainPoint = fullMainPoint;
	}

	@Column(name = "ENGLISH_NAME", length = 200)
	public String getEnglishName() {
		return this.englishName;
	}

	public void setEnglishName(String englishName) {
		this.englishName = englishName;
	}

	@Column(name = "MODEL_TIME", length = 200)
	public String getModelTime() {
		return this.modelTime;
	}

	public void setModelTime(String modelTime) {
		this.modelTime = modelTime;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<MainPointModule> getMainPointModules() {
		return this.mainPointModules;
	}

	public void setMainPointModules(Set<MainPointModule> mainPointModules) {
		this.mainPointModules = mainPointModules;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<StudentRecommend> getStudentRecommends() {
		return this.studentRecommends;
	}

	public void setStudentRecommends(Set<StudentRecommend> studentRecommends) {
		this.studentRecommends = studentRecommends;
	}

	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "train_notice_mainpoint", joinColumns = { @JoinColumn(name = "MAINPOINT_ID", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "TRAIN_NOTICE_ID", nullable = false, updatable = false) })
	public Set<TrainNotice> getTrainNotices() {
		return this.trainNotices;
	}

	public void setTrainNotices(Set<TrainNotice> trainNotices) {
		this.trainNotices = trainNotices;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<TrainPlan> getTrainPlans() {
		return this.trainPlans;
	}

	public void setTrainPlans(Set<TrainPlan> trainPlans) {
		this.trainPlans = trainPlans;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<WorkOrder> getWorkOrders() {
		return this.workOrders;
	}

	public void setWorkOrders(Set<WorkOrder> workOrders) {
		this.workOrders = workOrders;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<Topic> getTopics() {
		return this.topics;
	}

	public void setTopics(Set<Topic> topics) {
		this.topics = topics;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<StudentResit> getStudentResits() {
		return this.studentResits;
	}

	public void setStudentResits(Set<StudentResit> studentResits) {
		this.studentResits = studentResits;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<UserBaseInfoMainPoint> getUserBaseInfoMainPoints() {
		return this.userBaseInfoMainPoints;
	}

	public void setUserBaseInfoMainPoints(
			Set<UserBaseInfoMainPoint> userBaseInfoMainPoints) {
		this.userBaseInfoMainPoints = userBaseInfoMainPoints;
	}

	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "mainpoint_certificate_mainpoint", joinColumns = { @JoinColumn(name = "mainpoint_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "mainpoint_certificate_id", nullable = false, updatable = false) })
	public Set<MainpointCertificate> getMainpointCertificates() {
		return this.mainpointCertificates;
	}

	public void setMainpointCertificates(
			Set<MainpointCertificate> mainpointCertificates) {
		this.mainpointCertificates = mainpointCertificates;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "mainPoint")
	public Set<MainPointStudyResult> getMainPointStudyResults() {
		return this.mainPointStudyResults;
	}

	public void setMainPointStudyResults(
			Set<MainPointStudyResult> mainPointStudyResults) {
		this.mainPointStudyResults = mainPointStudyResults;
	}

}
